草庐IT

c++ - VC++ 2010 : Show open dialog hangs

全部标签

c++ - 尝试在 VC++ 中使用静态类函数编译 DLL 时出错

我正在尝试使用我在独立应用程序中制作和测试过的一些功能。现在我正在尝试创建一个DLL,我收到一些错误,指出该函数已被重新定义并且返回参数不匹配。这似乎是我唯一一次遇到这些错误,我已经通过删除此类对其进行了测试,它编译得很好,独立应用程序的main.cpp直接引用了这些错误。以下是错误以及h和cpp文件:Error7errorC2371:'Parser::parse':redefinition;differentbasictypesc:\users\seb\documents\visualstudio2005\projects\TestDLL\TestDLL\parser.cpp17Er

c++ - 在 Visual C++ 2010 Windows 窗体项目中使用 HTML Tidy

我正在使用VC++2010Express,我正尝试包含HTMLTidy以对HTML代码字符串执行清理。我想要做的是将HTML处理为字符串(不是来自文件)并将处理后的清理HTML保存到字符串(不是文件)。该项目是一个C++Windows窗体项目,编译器是/CLR。我尝试过以各种方式将Tidy附加到我的项目中,次数比我愿意承认的要多。我每次尝试都失败了,我只是不确定从这里去哪里。最有前途的是一个名为TidyManaged的​​.NET包装器,但我找不到任何文档来解释如何将它与C++一起使用(它似乎是为C#而设计的)。各种C++包装器根本不适合我。似乎极度缺乏关于如何使它们工作的文档。此外,

c++ - 告诉 VS2010 折叠区域

所以我编写了一个t4模板,它生成了大量代码并且运行良好。唯一的问题是开发人员永远不需要看到大部分代码,因此我在区域中隐藏了所有样板代码。有没有什么办法(我假设没有)在C++代码文件中给VS一个提示来继续并折叠这些区域。 最佳答案 您可以将代码生成到一个单独的文件中,然后在必要时#include。这样您就不会让开发人员直接在生成的代码之上工作:他们看不到它,并且这使得将来重新生成该代码变得非常容易。 关于c++-告诉VS2010折叠区域,我们在StackOverflow上找到一个类似的问题

c++ - visual studio 2010 包含目录路径

我有一个visualstudio解决方案myvs.sln,路径如下:c:\dir1\dir2\dir3\myvs\myvs\myvs.sln.我在c:\dir1\dir2\dir3\boostxxx\中安装了增强版xxx.我在project->properties->c/c++->general:../..;../../boostxxx.在boost库中,包含文件具有以下语法:#include.我的代码文件myfile.h居住在c:\dir1\dir2\dir3\yy1\myfile.h.在myfile.h中,我将boost库包含为:#include.我收到一条错误消息:c:\dir1

c++ - 如何在 VC++ 中重新启动我自己的应用程序

我正在开发VC++应用程序。弄清楚如何重新启动我自己的应用程序谁能举个例子 最佳答案 编写一个程序,它将:等待您的应用程序终止再次运行它。调用此程序,然后退出您的应用程序。该解决方案应用相当广泛。另一种选择:使用特定参数调用您的应用程序(例如/restarted)。新实例应等待旧实例终止,然后再执行任何任务。然后关闭旧实例。 关于c++-如何在VC++中重新启动我自己的应用程序,我们在StackOverflow上找到一个类似的问题: https://stack

c++ - VS2010 和 VS2012 之间的二进制 C++ 库兼容性?

我对VS2010和VS2012之间编译库的二进制兼容性感到困惑。我想迁移到VS2012,但是许多闭源二进制SDK仅适用于VS2010,例如用于连接硬件设备的SDK。传统上,据我所知,VisualStudio对编译器版本非常挑剔,在VS2010中,您无法链接到为VS2008编译的库。我现在感到困惑的原因是,我正在迁移到VS2012,我已经尝试了几个项目,令我最惊讶的是,他们中的许多人都可以毫无问题地跨版本工作。注意:我不是在谈论v100模式,据我所知,它只是VS2010编译引擎之上的VS2012GUI。我说的是在VS2012中打开一个VS2010的解决方案,点击更新,看看会发生什么。当链

c++ - Qt 5.1.1在vs2010编译报错

我正在努力将一个相当大的项目从Qt4.8.3升级到Qt5.1.1。我们使用vs2010,我使用的是v1.2.2VSQt插件。我已经修复了添加QtWidgets带来的所有路径问题和新实现QPointer的一些错误,但现在我遇到了一组特定的错误,我希望其他人已经看到并能够克服这些错误:1>c:\qt\qt5.1.1\5.1.1\msvc2010_opengl\include\qtcore\qarraydataops.h(399):errorC2171:'!':illegalonoperandsoftype''unknown-type''1>c:\qt\qt5.1.1\5.1.1\msvc2

c++ - 如何在 Visual Studio 2010 中使用 DEF 文件从现有 C++ 代码生成 DLL

我继承了一个C++项目,我需要将它转换成一个DLL,以便在其他项目中使用它。代码在VisualStudio2010解决方案中构建。我能够编译它并生成一个DLL文件,但没有关联的lib文件。我不是Windows开发者,但是好像需要导出我想要使用的函数,有两种方式:Using__declspec(dllexport)UsingaDEFfile第一个选项意味着在我要导出的每个类或函数前面手动添加__declspec(ddlexport)。由于有很多类,而且我无法控制要链接到库的所有应用程序,因此第二个选项(DEF文件)看起来更有希望。有没有办法从现有的DLL文件生成DEF文件?我尝试了不同的

c++ - Visual Studio 2010 C++ : malloc()/HeapAlloc always allocates new page for even smallest alloc size

我有一个相当大的C/C++项目,我一直在试图找出它消耗过多内存的原因(通过任务管理器中的“工作集”判断)。我终于找到了奇怪的行为,即使是最小的malloc()请求,它也会分配一个全新的4k页面。像这样的代码for(intbla=0;bla这应该会增加区区10KB的内存消耗,最终会增加4MB,因为它分配了1000个4kB。真正令人沮丧的部分是我无法将其作为独立文件重现。仅包含上述代码的小型应用程序就可以正常工作。只有大项目才会表现出错误的行为。直接回答一些明显的建议:我正在引入与大项目相同的库,并确保编译标志相同"new"的行为方式相同在Debug和Release模式下都会发生我真的追踪

c++ - vc++ 中未处理的异常 - HRESULT 失败

我知道VC++6.0是很古老的语言,但我别无选择,我只是在维护一个现有的程序,我遇到了这个错误UnhandledexceptioninAssess.exe(KERNELBASE.DLL):0xE06D7363:MicrosoftC++Exception这是我的代码HRESULThr=CoInitialize(NULL);//Createtheinterfacepointer.IModulePtrpI(__uuidof(RPTAModuleInterface));//theerrorishere调试并使用f11后,程序转到COMIP.H,这是代码explicit_com_ptr_t(co